/**
 * Copyright 2008-2009. Chongqing Communications Industry Services Co.,Ltd Information Technology Branch. All rights reserved.
 * <a>http://www.cqcis.com</a>
 */
package com.cqcis.uip.base.framework.codec.custom;

import com.cqcis.uip.base.framework.codec.ObjectEncoder;
import com.cqcis.uip.base.framework.utils.ByteBuffer;

/**
 * 打包格式参见, PF-中地  接口规范
 * @author 李世军 创建于 上午11:57:01
 */
public class ZyObjectEncoderImpl implements ObjectEncoder {
//	private static Log log = LogFactory.getLog(ZyObjectEncoderImpl.class);
	private int version = 0x02 ;//版本号，当前为0x02
	
	public ByteBuffer encode(Object message) throws Exception {
		byte text[] = message.toString().getBytes("GB2312") ;
		
		ByteBuffer buff = ByteBuffer.allocate(1024);		
		buff.setAutoExpand(true);
		
		// 组装包头  --包头信息, 可修改为由外部配置
		buff.put((byte)version) ;  // 版本号 
		buff.putInt(14) ;          // 包头长度
		buff.putInt(text.length) ; // 正文长度
		buff.put("1".getBytes()) ; // 响应标识
		buff.put("PF".getBytes()) ;// 源系统
		buff.put("ZY".getBytes()) ;// 目标系统
		
		// 正文
		buff.put(text) ; // XML 正文
		buff.flip() ;
		
		return buff ;
	}
	
}
